package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddCycleComReqDto
 * @使用场景
 */
@Data
public class AddCycleComReqDto extends BaseDto implements Serializable {

  /**
   * 周期名称
   */
  @NotNull(message = "周期名称不能为空")
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 周期开始时间
   */
  @NotNull(message = "周期开始时间不能为空")
  @ApiModelProperty("周期开始时间")
  private Date cycleStartTime;

  /**
   * 周期结束时间
   */
  @NotNull(message = "周期结束时间不能为空")
  @ApiModelProperty("周期结束时间")
  private Date cycleEndTime;

  /**
   * 冗余周期类型标准化 STANDARD:普通标准 CUSTOM_STANDARD:自定义标准 IRREGULAR:不规则
   */
  @NotNull(message = "冗余周期类型标准化不能为空")
  @ApiModelProperty("冗余周期类型标准化")
  private String cycleTypeStandard;

  /**
   * 周期类型标识
   */
  @NotNull(message = "周期类型标识不能为空")
  @ApiModelProperty("周期类型标识")
  private String cycleTypeCode;

  /**
   * 周期类型名称
   */
  @NotNull(message = "周期类型名称不能为空")
  @ApiModelProperty("周期类型名称")
  private String cycleTypeName;

  /**
   * 周期类型实例标识
   */
  @ApiModelProperty("周期类型实例标识")
  private String cycleTypeInstanceCode;

  /**
   * 周期类型实例简称
   */
  @ApiModelProperty("周期类型实例简称")
  private String cycleNumberShortName;

  /**
   * 是否节假日 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否节假日不能为空")
  @ApiModelProperty("是否节假日")
  private String isHoliday;

  /**
   * 是否是平台 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否是平台不能为空")
  @ApiModelProperty("是否是平台")
  private String platformData;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
